草庐IT

c++ - QML Qt openUrlExternally

全部标签

c++ - 如何在 SDL_surface 中设置像素?

我需要使用thispage中的以下函数.SDL_Surfacestructure定义为typedefstructSDL_Surface{Uint32flags;/*Read-only*/SDL_PixelFormat*format;/*Read-only*/intw,h;/*Read-only*/Uint16pitch;/*Read-only*/void*pixels;/*Read-write*/SDL_Rectclip_rect;/*Read-only*/intrefcount;/*Read-mostly*/}SDL_Surface;函数是:voidset_pixel(SDL_Sur

c++ - 为什么整数到字符串的转换直到现在才明确包含在 C++ 中?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion我在学习C++时遇到的第一个问题是itoa函数在某些编译器上受支持,但实际上并没有在ANSI-C标准中定义(因此通常被认为是不好的做法使用)。我见过很多解决方案,比如使用stringstream或者snprintf,总觉得很迂回,终于在C++11中有了std::to_string从语言的角度来看感觉更清晰。但为什么要花这么长时间才能添加更直接的方法?除了一些关于效率的讨论和没有充分理由就不

c++ - C 中的链接器错误。使用 <graphics.h> Turbo C++

我在turboc++中输入了以下代码。#include#includeintmain(){intgd=DETECT,gm;initgraph(&gd,&gm,"D:\\TC\\BGI");getch();closegraph();return0;}它编译时没有任何错误和警告。但是当我运行程序时,会显示以下错误LinkerError:Undefinedsymbol_closegraphinmoduleG1.CLinkerError:Undefinedsymbol_initgraphinmoduleG1.C注意:BGI文件夹在路径D:\TC\我该如何解决这个问题?

c++ - 如何从另一个程序运行一个程序并通过 C 或 C++ 中的标准输入将数据传递给它?

假设我有一个.exe,让我们说sum.exe。现在假设sum.exe的代码是voidmain(){inta,b;scanf("%d%d",&a,&b);printf("%d",a+b);}我想知道如何从另一个c/c++程序运行这个程序并通过stdin传递输入,就像他们在像ideone这样的在线编译器站点中所做的那样,我在其中输入代码并在文本框中提供stdin数据和该数据被程序使用scanf或cin接受。另外,我想知道是否有任何方法可以从启动它的原始程序中读取该程序的输出。 最佳答案 在名称以X结尾的平台(即非Windows)上的C中

c++ - C++11 中具有 C 链接的复杂类型

我需要将C库的header包含到我的C++11代码中。现在,header提供的例程和数据结构到处都涉及大量doublecomplex。例如,#include//..typedefstructparameters{//...doublecomplexVud;}parameters;//...doublecomplexpolylog(intn,intm,doublex);我将这个文件放入我的C++11源代码中,用extern"C"{#include"include.h"}包装(不管你信不信,这就是实际的文件名)。如果我添加了-std=c++11,g++(尝试过4.7.3和4.8.2)和cl

c++ - 从预乘浮点 RGBA 转换为 8 位 RGBA 的有效方法?

我正在寻找一种更有效的方法,将在预乘色彩空间中存储为double的RGBA转换为8位整数/channelRGBA非预乘色彩空间。这对我的图像处理来说是一项巨大的成本。对于一个channel,比如R,代码看起来像这样:doubletemp=alpha>0?src_r/alpha:0uint8_tout_r=(uint8_t)min(255,max(0,int(temp*255+0.5)))这涉及三个条件,我认为它们会阻止编译器/CPU尽可能地优化它。我认为某些芯片,特别是x86_64具有专门的双钳位操作,因此理论上上述可能无需条件就可以实现。是否有一些技术或特殊功能可以使这种转换更快?我

c++ - D 中的可变函数调用

好的,这就是我需要的:假设我们有一个字符串变量,例如func具有用户给定的一些值(不是常量)我们如何调用一个名称为func值的函数?更新:也许认为我需要的是不言自明的,但由于我注意到很多反对票,所以你在这里:stringfunc="myfunc";我需要像call(func)这样的东西,它将调用myfunc。像PHP的call_user_func_array()有什么想法吗?我查看了mixins,但这看起来不像我需要的。P.S.我也用c和c++标记了这个问题,因为考虑到它们之间的相似性,理论上可能存在通用解决方案语言。 最佳答案 编

c++ - "dog-tag"字段是否在某些软件中使用?

我正在阅读名为“CodeComplete”的书。书中对“dog-tagfield”有解释。Usedog-tagfieldstocheckforcorruptedmemory.A"tagfield"or"dogtag"isafieldyouaddtoastructuresolelyforthepurposeoferrorchecking.您是否在您的软件或许多用户使用的某些软件中看到“dog-tag”字段的实际用法? 最佳答案 “dog-tag”字段或校验和仍在使用。它们主要用于数据传输。大多数嵌入式和台式电脑的内存质量都有所提高。对

c++ - 未找到先前编译的可用 IPDB/IOBJ

项目结构如下。(VisualStudio2015社区)一个静态库项目一个控制台应用程序项目静态库是使用默认设置创建的,并链接到控制台应用程序项目。程序运行良好。但在与静态库链接的控制台应用程序的发布版本中,会显示以下信息。All205functionswerecompiledbecausenousableIPDB/IOBJfrompreviouscompilationwasfound.Finishedgeneratingcode==========RebuildAll:1succeeded,0failed,0skipped==========使用默认选项生成release静态库有什么问

c++ - 如何从 uint32_t 打印十六进制?

我一直在处理的代码要求我以十六进制打印类型为uint32_t的变量,填充为0,最小长度为8。到目前为止,我一直在使用该代码来执行此操作是:printf("%08lx\n",read_word(address));其中read_word返回类型uint32_t。我用过jx,llx等格式都没有用,请问有正确的格式可以用吗?编辑:我发现问题出在我传递的内容上。函数read_word从uint32_tvector返回一个值。似乎这是导致十六进制问题的问题。这是按引用/值传递的问题吗?如何解决?读字函数:uint32_tmemory::read_word(uint32_taddress){if(